import java.util.Scanner;

public class Answer3 {
    //重排字符串
    //
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        char[] s=in.next().toCharArray();

        int[] hash=new int[26];
        int maxCount=0;
        char maxChar='0';

        for(int i=0;i<n;i++){
            char c=s[i];
            if(++hash[c-'a'] > maxCount){
                maxChar=c;
                maxCount=hash[c-'a'];
            }
        }

        if( maxCount > (n+1) /2){
            System.out.println("no");
        }else{
            System.out.println("yes");
            char[] ret=new char[n];
            int j=0;
            while(maxCount-- !=0) {
                ret[j] = maxChar;
                j+=2;
            }
            for(int k=0;k<26;k++){
                while(hash[k]-- !=0 && k+'a' != maxChar){
                    if(j>=n) j=1;
                    ret[j] =(char) (k+'a');
                    j+=2;
                }
            }


            for(int i=0;i<n;i++){
                System.out.print(ret[i]);
            }
        }

    }
}
